/*
 * FSWUniCEUB - 2008
 * 
 * Este arquivo é de propriedade da Fábrica de Software do UniCEUB
 * 
 * Para mais informações entre em contato com a coordenação do
 * curso de Ciência da Computação da instituição.
 */

package br.uniceub.fsw.indicadores.vo;

import br.uniceub.fsw.indicadores.dao.IndicadorDAO;
import java.util.Date;
import java.text.SimpleDateFormat;

/**
 * Value Object da entidade ValorIndicador do módulo de Indicadores.
 * 
 * Tabela: TB_ValorIndicador
 *
 * @author Filipe Scafuto Vieira RA 20463917
 */
public class ValorIndicadorVO {
    
    /**
     * Coluna: ID_ValorIndicador
     */
    private Integer idValorIndicador;
    
    /**
     * Coluna: NO_ValorIndicador
     */
    private Date dtValorIndicador;
    
    /**
     * Coluna: VL_ValorIndicador
     */
    private Float vlValorIndicador;
    
    /**
     * Tabela referenciada: TB_Indicador
     * Coluna FK: CD_Indicador
     */
    private Integer cdIndicador;
    
    /**
     * ValorIndicador relacionado pela coluna cdValorIndicador.
     */
    private IndicadorVO indicador;
    
    /*
     * Getters e Setters.
     */    

    public Integer getCdIndicador() {
        return cdIndicador;
    }

    public void setCdIndicador(Integer cdIndicador) {
        this.cdIndicador = cdIndicador;
    }

    public Float getVlValorIndicador() {
        return vlValorIndicador;
    }

    public void setVlValorIndicador(Float vlValorIndicador) {
        this.vlValorIndicador = vlValorIndicador;
    }

    public Integer getIdValorIndicador() {
        return idValorIndicador;
    }

    public void setIdValorIndicador(Integer idValorIndicador) {
        this.idValorIndicador = idValorIndicador;
    }
    
    /**
     * Retorna data como String no formato d-m-Y
     * 
     * @param Date
     * @return Data em String d-m-Y
     */
    public static String getDateAsString(Date data) {
        String sdata = new String();
  
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");

        if(data != null) 
            sdata = sdf.format(data);
        
        return sdata;
    }
    
    public Date getDtValorIndicador() {
        return dtValorIndicador;
    }
    
    public String getDtValorIndicadorString() {
        return getDateAsString(this.dtValorIndicador);
    }

    public void setDtValorIndicador(Date dtValorIndicador) {
        this.dtValorIndicador = dtValorIndicador;
    }
    
    public IndicadorVO getIndicador() {
        
        if(this.indicador == null) {
            this.indicador = new IndicadorDAO().consultarPorId(this.cdIndicador);
        }
        
        return indicador;
    }    
}
